A graphics processing unit (GPU) comprises a highly parallel structure which is designed to efficiently process large amounts of data in parallel. GPUs are typically used for computer graphics (e.g. to render 3D images on a screen), however they may also be used for other operations which benefit from the parallelism they provide.
The embodiments described below are provided by way of example only and are not limiting of implementations which solve any or all of the disadvantages of known GPUs or other parallel processing units.